package cn.bocai.pc.ws.service.impl;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.springframework.util.StringUtils;

import cn.bocai.pc.ws.service.ReadDirectoryService;

/**
 * @className: ReadDirectoryServiceImpl
 * @description: webservice服务类,通过图片服务器的目录,获取所有的文件名称
 * @date: 2015年06月29日 下午13:20:31
 * @修改人：
 * @修改时间：
 * @修改内容：
 */
public class ReadDirectoryServiceImpl implements ReadDirectoryService {
	/**
	 * 通过getDirByImg发布图片描述信息
	 * 
	 * @param year 年
	 * @param color 颜色
	 * @param periods 期数
	 * @return 标识
	 * @time 2015年6月26日13:04:11
	 */
	public List<String> getDirByImg(String year, String color, String periods,String picPath) {
		StringBuilder builder = new StringBuilder();
		// 图片服务的真实地址
		builder.append(picPath);//图片地址 File.separator表示斜杠
		// 依次加入年，颜色,期数
		if (!StringUtils.isEmpty(year)) {
			builder.append(File.separator + year);
		}
		if (!StringUtils.isEmpty(color)) {
			builder.append(File.separator + color);
		}
		if (!StringUtils.isEmpty(periods)) {
			builder.append(File.separator + periods);
		}
		List<String> list = findFileName(builder.toString());
		return list;
	}

	// 查找指定目录下的文件
	private List<String> findFileName(String filepath) {
		File file = new File(filepath);
		List<String> list = new ArrayList<String>();
		if (!file.exists() || !file.isDirectory()) {
			System.out.println("目录不存在");
		} else {
			File[] files = file.listFiles();
			System.err.println("扫描出图片数目："+files.length);
			for (int i = 0; i < files.length; i++) {
				if (files[i].isFile()) {
					if (files[i].getName().endsWith(".jpg")) {
						list.add(files[i].getName());
						System.err.println(files[i].getName());
					}
				}
			}
		}

		return list;
	}

/*	public static void main(String[] args) {
		new ReadDirectoryServiceImpl().getDirByImg("2015", "col", "3", "3");

		
		 * System.out.print("扫描当前目录 path: "); File dir = new
		 * File("D:/img/2015/col/"); if (!dir.exists() || !dir.isDirectory())
		 * System.out.println("目录不存在"); else {
		 * System.out.println(dir.getPath()); System.out.println("当前路径下有如下目录：");
		 * new ReadDirectoryServiceImpl().listDirectories(dir); }
		 
	}*/

	// 得到目录
	/*private void listDirectories(File dir) {
		File[] dirs = dir.listFiles();
		for (File f : dirs) {
			if (f.isDirectory()) {
				System.out.println("目录:" + f.getName());
				listDirectories(f);
			}
		}
	}*/
}
